There is often the need to create “clones” based upon data generated in a computing system or application. A clone is a copy of another set of data, where the clone may be an exact copy or a modified copy of the original data. For example, software applications developers often need to clone a production database in order to implement testing of the software over the cloned database data. This process of using the cloned data is often beneficial to fully test the software upon actual data, helping to identify and resolve problems before the software is introduced into a working production environment.
There is a large number of different ways in which clones can be generated from a set of underlying data. In fact, each system (e.g., database system or storage systems) from which clones can be generated may have its own set of procedures, policies, and different techniques that may be used to create the clones.
These issues relating to the large number of possibilities and permutations in the underlying systems and clone types make it very difficult for an ordinary user to properly create clones from a production environment. Even for experienced administrators, this quickly becomes a very complicated problem to know how, where, and when to create the clones. Given these large number of variations in the possible clones and clone types, this also created significant complications with respect to management, maintenance, and clean-up of the created clones.
The aforementioned problems become even more pronounced in large and complex ecosystems, such as complex enterprise-class database management environments that may contain a large number of different types of database and storage systems. A typical production environment for a large company may include many different types of systems from multiple vendors that maintain data to be cloned, which can exponentially multiply the possible ways in which to create, configure, and maintain the clones (and the clone's underlying source data).
Therefore, there is a need for an improved approach to manage cloning activity in a computing system. Other additional objects, features, and advantages of the invention are described in the detailed description, figures, and claims.